package com.bill.common.system.service;

import java.util.List;
import java.util.Map;

import org.springframework.transaction.annotation.Transactional;

import com.bill.common.system.dto.SingleGroupReportStatDTO;
import com.bill.common.system.dto.TransactionRecordDTO;
import com.bill.common.system.entity.TransactionRecord;
import com.bill.common.user.dto.RegisterUserGridDTO;
import com.sinba.common.dto.PageDTO;

public interface ITransactionRecordService {
	PageDTO findTransactionRecordPager(TransactionRecordDTO qdto,String sord, String sidx);
	void saveTrans(TransactionRecordDTO dto);
	void deleteTrans(Long[] ids);
	Double statAward(TransactionRecordDTO dto);
	/**
	 * 分组统计报表
	 * @param dto
	 * @return
	 */
	Map<String, Double> transacGroupReportStat(TransactionRecordDTO qdto);
	
	List<SingleGroupReportStatDTO> statRecharge(TransactionRecordDTO dto);
	
	//查询钱包余额
	Double findUserBalance(String loginName , String dtype );
	
	/**
	 * 统计各账户收入、支出统计
	 */
	List<SingleGroupReportStatDTO> statAccount(TransactionRecordDTO dto);
	
	TransactionRecord findLastJiChaRecord(String loginName,String transactionType);
	/**
	 * 统计静态、动态奖金
	 * @param dto
	 * @return
	 */
	List<SingleGroupReportStatDTO> statDtype(TransactionRecordDTO dto);
	
	void updateTran(TransactionRecord tr , String dtype, Double moeny ,String opttype);
	RegisterUserGridDTO subAccountBonus( RegisterUserGridDTO registerUserGridDTO);
	
	Double statStatic(String loginName);
	Double statStatic(String loginName,String remark);
	
	List<Object[]> statDynamicAccountBalance();
	Double statTotalAward(String loginName);
}
